package com.wenwu.common.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class RelicsSurveyExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public RelicsSurveyExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andSurveyIdIsNull() {
            addCriterion("survey_id is null");
            return (Criteria) this;
        }

        public Criteria andSurveyIdIsNotNull() {
            addCriterion("survey_id is not null");
            return (Criteria) this;
        }

        public Criteria andSurveyIdEqualTo(Integer value) {
            addCriterion("survey_id =", value, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdNotEqualTo(Integer value) {
            addCriterion("survey_id <>", value, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdGreaterThan(Integer value) {
            addCriterion("survey_id >", value, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("survey_id >=", value, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdLessThan(Integer value) {
            addCriterion("survey_id <", value, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdLessThanOrEqualTo(Integer value) {
            addCriterion("survey_id <=", value, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdIn(List<Integer> values) {
            addCriterion("survey_id in", values, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdNotIn(List<Integer> values) {
            addCriterion("survey_id not in", values, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdBetween(Integer value1, Integer value2) {
            addCriterion("survey_id between", value1, value2, "surveyId");
            return (Criteria) this;
        }

        public Criteria andSurveyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("survey_id not between", value1, value2, "surveyId");
            return (Criteria) this;
        }

        public Criteria andNumberIsNull() {
            addCriterion("number is null");
            return (Criteria) this;
        }

        public Criteria andNumberIsNotNull() {
            addCriterion("number is not null");
            return (Criteria) this;
        }

        public Criteria andNumberEqualTo(String value) {
            addCriterion("number =", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberNotEqualTo(String value) {
            addCriterion("number <>", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberGreaterThan(String value) {
            addCriterion("number >", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberGreaterThanOrEqualTo(String value) {
            addCriterion("number >=", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberLessThan(String value) {
            addCriterion("number <", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberLessThanOrEqualTo(String value) {
            addCriterion("number <=", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberLike(String value) {
            addCriterion("number like", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberNotLike(String value) {
            addCriterion("number not like", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberIn(List<String> values) {
            addCriterion("number in", values, "number");
            return (Criteria) this;
        }

        public Criteria andNumberNotIn(List<String> values) {
            addCriterion("number not in", values, "number");
            return (Criteria) this;
        }

        public Criteria andNumberBetween(String value1, String value2) {
            addCriterion("number between", value1, value2, "number");
            return (Criteria) this;
        }

        public Criteria andNumberNotBetween(String value1, String value2) {
            addCriterion("number not between", value1, value2, "number");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNull() {
            addCriterion("project_name is null");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNotNull() {
            addCriterion("project_name is not null");
            return (Criteria) this;
        }

        public Criteria andProjectNameEqualTo(String value) {
            addCriterion("project_name =", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotEqualTo(String value) {
            addCriterion("project_name <>", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThan(String value) {
            addCriterion("project_name >", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThanOrEqualTo(String value) {
            addCriterion("project_name >=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThan(String value) {
            addCriterion("project_name <", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThanOrEqualTo(String value) {
            addCriterion("project_name <=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLike(String value) {
            addCriterion("project_name like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotLike(String value) {
            addCriterion("project_name not like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameIn(List<String> values) {
            addCriterion("project_name in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotIn(List<String> values) {
            addCriterion("project_name not in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameBetween(String value1, String value2) {
            addCriterion("project_name between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotBetween(String value1, String value2) {
            addCriterion("project_name not between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andApprovalIsNull() {
            addCriterion("approval is null");
            return (Criteria) this;
        }

        public Criteria andApprovalIsNotNull() {
            addCriterion("approval is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalEqualTo(String value) {
            addCriterion("approval =", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalNotEqualTo(String value) {
            addCriterion("approval <>", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalGreaterThan(String value) {
            addCriterion("approval >", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalGreaterThanOrEqualTo(String value) {
            addCriterion("approval >=", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalLessThan(String value) {
            addCriterion("approval <", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalLessThanOrEqualTo(String value) {
            addCriterion("approval <=", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalLike(String value) {
            addCriterion("approval like", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalNotLike(String value) {
            addCriterion("approval not like", value, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalIn(List<String> values) {
            addCriterion("approval in", values, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalNotIn(List<String> values) {
            addCriterion("approval not in", values, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalBetween(String value1, String value2) {
            addCriterion("approval between", value1, value2, "approval");
            return (Criteria) this;
        }

        public Criteria andApprovalNotBetween(String value1, String value2) {
            addCriterion("approval not between", value1, value2, "approval");
            return (Criteria) this;
        }

        public Criteria andFundingIsNull() {
            addCriterion("funding is null");
            return (Criteria) this;
        }

        public Criteria andFundingIsNotNull() {
            addCriterion("funding is not null");
            return (Criteria) this;
        }

        public Criteria andFundingEqualTo(String value) {
            addCriterion("funding =", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingNotEqualTo(String value) {
            addCriterion("funding <>", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingGreaterThan(String value) {
            addCriterion("funding >", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingGreaterThanOrEqualTo(String value) {
            addCriterion("funding >=", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingLessThan(String value) {
            addCriterion("funding <", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingLessThanOrEqualTo(String value) {
            addCriterion("funding <=", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingLike(String value) {
            addCriterion("funding like", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingNotLike(String value) {
            addCriterion("funding not like", value, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingIn(List<String> values) {
            addCriterion("funding in", values, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingNotIn(List<String> values) {
            addCriterion("funding not in", values, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingBetween(String value1, String value2) {
            addCriterion("funding between", value1, value2, "funding");
            return (Criteria) this;
        }

        public Criteria andFundingNotBetween(String value1, String value2) {
            addCriterion("funding not between", value1, value2, "funding");
            return (Criteria) this;
        }

        public Criteria andBegintimeIsNull() {
            addCriterion("begintime is null");
            return (Criteria) this;
        }

        public Criteria andBegintimeIsNotNull() {
            addCriterion("begintime is not null");
            return (Criteria) this;
        }

        public Criteria andBegintimeEqualTo(Date value) {
            addCriterionForJDBCDate("begintime =", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("begintime <>", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeGreaterThan(Date value) {
            addCriterionForJDBCDate("begintime >", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("begintime >=", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeLessThan(Date value) {
            addCriterionForJDBCDate("begintime <", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("begintime <=", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeIn(List<Date> values) {
            addCriterionForJDBCDate("begintime in", values, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("begintime not in", values, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("begintime between", value1, value2, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("begintime not between", value1, value2, "begintime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNull() {
            addCriterion("endtime is null");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNotNull() {
            addCriterion("endtime is not null");
            return (Criteria) this;
        }

        public Criteria andEndtimeEqualTo(Date value) {
            addCriterionForJDBCDate("endtime =", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("endtime <>", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThan(Date value) {
            addCriterionForJDBCDate("endtime >", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("endtime >=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThan(Date value) {
            addCriterionForJDBCDate("endtime <", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("endtime <=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIn(List<Date> values) {
            addCriterionForJDBCDate("endtime in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("endtime not in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("endtime between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("endtime not between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andTimelengthIsNull() {
            addCriterion("timelength is null");
            return (Criteria) this;
        }

        public Criteria andTimelengthIsNotNull() {
            addCriterion("timelength is not null");
            return (Criteria) this;
        }

        public Criteria andTimelengthEqualTo(String value) {
            addCriterion("timelength =", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthNotEqualTo(String value) {
            addCriterion("timelength <>", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthGreaterThan(String value) {
            addCriterion("timelength >", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthGreaterThanOrEqualTo(String value) {
            addCriterion("timelength >=", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthLessThan(String value) {
            addCriterion("timelength <", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthLessThanOrEqualTo(String value) {
            addCriterion("timelength <=", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthLike(String value) {
            addCriterion("timelength like", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthNotLike(String value) {
            addCriterion("timelength not like", value, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthIn(List<String> values) {
            addCriterion("timelength in", values, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthNotIn(List<String> values) {
            addCriterion("timelength not in", values, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthBetween(String value1, String value2) {
            addCriterion("timelength between", value1, value2, "timelength");
            return (Criteria) this;
        }

        public Criteria andTimelengthNotBetween(String value1, String value2) {
            addCriterion("timelength not between", value1, value2, "timelength");
            return (Criteria) this;
        }

        public Criteria andOrganNameIsNull() {
            addCriterion("organ_name is null");
            return (Criteria) this;
        }

        public Criteria andOrganNameIsNotNull() {
            addCriterion("organ_name is not null");
            return (Criteria) this;
        }

        public Criteria andOrganNameEqualTo(String value) {
            addCriterion("organ_name =", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameNotEqualTo(String value) {
            addCriterion("organ_name <>", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameGreaterThan(String value) {
            addCriterion("organ_name >", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameGreaterThanOrEqualTo(String value) {
            addCriterion("organ_name >=", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameLessThan(String value) {
            addCriterion("organ_name <", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameLessThanOrEqualTo(String value) {
            addCriterion("organ_name <=", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameLike(String value) {
            addCriterion("organ_name like", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameNotLike(String value) {
            addCriterion("organ_name not like", value, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameIn(List<String> values) {
            addCriterion("organ_name in", values, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameNotIn(List<String> values) {
            addCriterion("organ_name not in", values, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameBetween(String value1, String value2) {
            addCriterion("organ_name between", value1, value2, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganNameNotBetween(String value1, String value2) {
            addCriterion("organ_name not between", value1, value2, "organName");
            return (Criteria) this;
        }

        public Criteria andOrganAddressIsNull() {
            addCriterion("organ_address is null");
            return (Criteria) this;
        }

        public Criteria andOrganAddressIsNotNull() {
            addCriterion("organ_address is not null");
            return (Criteria) this;
        }

        public Criteria andOrganAddressEqualTo(String value) {
            addCriterion("organ_address =", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressNotEqualTo(String value) {
            addCriterion("organ_address <>", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressGreaterThan(String value) {
            addCriterion("organ_address >", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressGreaterThanOrEqualTo(String value) {
            addCriterion("organ_address >=", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressLessThan(String value) {
            addCriterion("organ_address <", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressLessThanOrEqualTo(String value) {
            addCriterion("organ_address <=", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressLike(String value) {
            addCriterion("organ_address like", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressNotLike(String value) {
            addCriterion("organ_address not like", value, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressIn(List<String> values) {
            addCriterion("organ_address in", values, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressNotIn(List<String> values) {
            addCriterion("organ_address not in", values, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressBetween(String value1, String value2) {
            addCriterion("organ_address between", value1, value2, "organAddress");
            return (Criteria) this;
        }

        public Criteria andOrganAddressNotBetween(String value1, String value2) {
            addCriterion("organ_address not between", value1, value2, "organAddress");
            return (Criteria) this;
        }

        public Criteria andChargePersonIsNull() {
            addCriterion("charge_person is null");
            return (Criteria) this;
        }

        public Criteria andChargePersonIsNotNull() {
            addCriterion("charge_person is not null");
            return (Criteria) this;
        }

        public Criteria andChargePersonEqualTo(String value) {
            addCriterion("charge_person =", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonNotEqualTo(String value) {
            addCriterion("charge_person <>", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonGreaterThan(String value) {
            addCriterion("charge_person >", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonGreaterThanOrEqualTo(String value) {
            addCriterion("charge_person >=", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonLessThan(String value) {
            addCriterion("charge_person <", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonLessThanOrEqualTo(String value) {
            addCriterion("charge_person <=", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonLike(String value) {
            addCriterion("charge_person like", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonNotLike(String value) {
            addCriterion("charge_person not like", value, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonIn(List<String> values) {
            addCriterion("charge_person in", values, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonNotIn(List<String> values) {
            addCriterion("charge_person not in", values, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonBetween(String value1, String value2) {
            addCriterion("charge_person between", value1, value2, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andChargePersonNotBetween(String value1, String value2) {
            addCriterion("charge_person not between", value1, value2, "chargePerson");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeIsNull() {
            addCriterion("organ_aptitude is null");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeIsNotNull() {
            addCriterion("organ_aptitude is not null");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeEqualTo(String value) {
            addCriterion("organ_aptitude =", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeNotEqualTo(String value) {
            addCriterion("organ_aptitude <>", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeGreaterThan(String value) {
            addCriterion("organ_aptitude >", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeGreaterThanOrEqualTo(String value) {
            addCriterion("organ_aptitude >=", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeLessThan(String value) {
            addCriterion("organ_aptitude <", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeLessThanOrEqualTo(String value) {
            addCriterion("organ_aptitude <=", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeLike(String value) {
            addCriterion("organ_aptitude like", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeNotLike(String value) {
            addCriterion("organ_aptitude not like", value, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeIn(List<String> values) {
            addCriterion("organ_aptitude in", values, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeNotIn(List<String> values) {
            addCriterion("organ_aptitude not in", values, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeBetween(String value1, String value2) {
            addCriterion("organ_aptitude between", value1, value2, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andOrganAptitudeNotBetween(String value1, String value2) {
            addCriterion("organ_aptitude not between", value1, value2, "organAptitude");
            return (Criteria) this;
        }

        public Criteria andInvestNumberIsNull() {
            addCriterion("invest_number is null");
            return (Criteria) this;
        }

        public Criteria andInvestNumberIsNotNull() {
            addCriterion("invest_number is not null");
            return (Criteria) this;
        }

        public Criteria andInvestNumberEqualTo(String value) {
            addCriterion("invest_number =", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberNotEqualTo(String value) {
            addCriterion("invest_number <>", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberGreaterThan(String value) {
            addCriterion("invest_number >", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberGreaterThanOrEqualTo(String value) {
            addCriterion("invest_number >=", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberLessThan(String value) {
            addCriterion("invest_number <", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberLessThanOrEqualTo(String value) {
            addCriterion("invest_number <=", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberLike(String value) {
            addCriterion("invest_number like", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberNotLike(String value) {
            addCriterion("invest_number not like", value, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberIn(List<String> values) {
            addCriterion("invest_number in", values, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberNotIn(List<String> values) {
            addCriterion("invest_number not in", values, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberBetween(String value1, String value2) {
            addCriterion("invest_number between", value1, value2, "investNumber");
            return (Criteria) this;
        }

        public Criteria andInvestNumberNotBetween(String value1, String value2) {
            addCriterion("invest_number not between", value1, value2, "investNumber");
            return (Criteria) this;
        }

        public Criteria andTechPersonIsNull() {
            addCriterion("tech_person is null");
            return (Criteria) this;
        }

        public Criteria andTechPersonIsNotNull() {
            addCriterion("tech_person is not null");
            return (Criteria) this;
        }

        public Criteria andTechPersonEqualTo(String value) {
            addCriterion("tech_person =", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonNotEqualTo(String value) {
            addCriterion("tech_person <>", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonGreaterThan(String value) {
            addCriterion("tech_person >", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonGreaterThanOrEqualTo(String value) {
            addCriterion("tech_person >=", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonLessThan(String value) {
            addCriterion("tech_person <", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonLessThanOrEqualTo(String value) {
            addCriterion("tech_person <=", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonLike(String value) {
            addCriterion("tech_person like", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonNotLike(String value) {
            addCriterion("tech_person not like", value, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonIn(List<String> values) {
            addCriterion("tech_person in", values, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonNotIn(List<String> values) {
            addCriterion("tech_person not in", values, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonBetween(String value1, String value2) {
            addCriterion("tech_person between", value1, value2, "techPerson");
            return (Criteria) this;
        }

        public Criteria andTechPersonNotBetween(String value1, String value2) {
            addCriterion("tech_person not between", value1, value2, "techPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonIsNull() {
            addCriterion("other_person is null");
            return (Criteria) this;
        }

        public Criteria andOtherPersonIsNotNull() {
            addCriterion("other_person is not null");
            return (Criteria) this;
        }

        public Criteria andOtherPersonEqualTo(String value) {
            addCriterion("other_person =", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonNotEqualTo(String value) {
            addCriterion("other_person <>", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonGreaterThan(String value) {
            addCriterion("other_person >", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonGreaterThanOrEqualTo(String value) {
            addCriterion("other_person >=", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonLessThan(String value) {
            addCriterion("other_person <", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonLessThanOrEqualTo(String value) {
            addCriterion("other_person <=", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonLike(String value) {
            addCriterion("other_person like", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonNotLike(String value) {
            addCriterion("other_person not like", value, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonIn(List<String> values) {
            addCriterion("other_person in", values, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonNotIn(List<String> values) {
            addCriterion("other_person not in", values, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonBetween(String value1, String value2) {
            addCriterion("other_person between", value1, value2, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andOtherPersonNotBetween(String value1, String value2) {
            addCriterion("other_person not between", value1, value2, "otherPerson");
            return (Criteria) this;
        }

        public Criteria andInvestAreaIsNull() {
            addCriterion("invest_area is null");
            return (Criteria) this;
        }

        public Criteria andInvestAreaIsNotNull() {
            addCriterion("invest_area is not null");
            return (Criteria) this;
        }

        public Criteria andInvestAreaEqualTo(String value) {
            addCriterion("invest_area =", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaNotEqualTo(String value) {
            addCriterion("invest_area <>", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaGreaterThan(String value) {
            addCriterion("invest_area >", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaGreaterThanOrEqualTo(String value) {
            addCriterion("invest_area >=", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaLessThan(String value) {
            addCriterion("invest_area <", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaLessThanOrEqualTo(String value) {
            addCriterion("invest_area <=", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaLike(String value) {
            addCriterion("invest_area like", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaNotLike(String value) {
            addCriterion("invest_area not like", value, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaIn(List<String> values) {
            addCriterion("invest_area in", values, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaNotIn(List<String> values) {
            addCriterion("invest_area not in", values, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaBetween(String value1, String value2) {
            addCriterion("invest_area between", value1, value2, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestAreaNotBetween(String value1, String value2) {
            addCriterion("invest_area not between", value1, value2, "investArea");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewIsNull() {
            addCriterion("invest_overview is null");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewIsNotNull() {
            addCriterion("invest_overview is not null");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewEqualTo(String value) {
            addCriterion("invest_overview =", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewNotEqualTo(String value) {
            addCriterion("invest_overview <>", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewGreaterThan(String value) {
            addCriterion("invest_overview >", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewGreaterThanOrEqualTo(String value) {
            addCriterion("invest_overview >=", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewLessThan(String value) {
            addCriterion("invest_overview <", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewLessThanOrEqualTo(String value) {
            addCriterion("invest_overview <=", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewLike(String value) {
            addCriterion("invest_overview like", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewNotLike(String value) {
            addCriterion("invest_overview not like", value, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewIn(List<String> values) {
            addCriterion("invest_overview in", values, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewNotIn(List<String> values) {
            addCriterion("invest_overview not in", values, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewBetween(String value1, String value2) {
            addCriterion("invest_overview between", value1, value2, "investOverview");
            return (Criteria) this;
        }

        public Criteria andInvestOverviewNotBetween(String value1, String value2) {
            addCriterion("invest_overview not between", value1, value2, "investOverview");
            return (Criteria) this;
        }

        public Criteria andDeviceIsNull() {
            addCriterion("device is null");
            return (Criteria) this;
        }

        public Criteria andDeviceIsNotNull() {
            addCriterion("device is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceEqualTo(String value) {
            addCriterion("device =", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotEqualTo(String value) {
            addCriterion("device <>", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceGreaterThan(String value) {
            addCriterion("device >", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceGreaterThanOrEqualTo(String value) {
            addCriterion("device >=", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLessThan(String value) {
            addCriterion("device <", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLessThanOrEqualTo(String value) {
            addCriterion("device <=", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLike(String value) {
            addCriterion("device like", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotLike(String value) {
            addCriterion("device not like", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceIn(List<String> values) {
            addCriterion("device in", values, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotIn(List<String> values) {
            addCriterion("device not in", values, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceBetween(String value1, String value2) {
            addCriterion("device between", value1, value2, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotBetween(String value1, String value2) {
            addCriterion("device not between", value1, value2, "device");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}